#ifndef RENDERTHREAD_H
#define RENDERTHREAD_H

#include<QObject>
#include<QVector3D>
#include<QImage>
#include <QWidget>
#include<QPainter>
#include<QVector3D>
#include<ray.h>
#include<QDebug>
#include<QScreen>
#include<hitable.h>
#include<float.h>
#include<sphere.h>
#include<hitable_list.h>
#include<camera.h>
#include<lambertian.h>
#include<metal.h>
#include<dielectric.h>
#include<moving_sphere.h>
#include<constant_texture.h>
#include<checker_texture.h>
#include<bvh_node.h>
#include<noise_texture.h>
#include<QThread>
#include<image_texture.h>
#include<scene.h>
class renderThread:public QObject
{
    Q_OBJECT
public:
    explicit renderThread(QObject*parent=nullptr):QObject(parent){}



    void render(renderThread*, scene*sc,QImage*image,
    int nx,int ny,int x1,int x2,int y1,int y2);

signals:
    void refresh();
    void renderfinished(QThread*);
};

#endif // RENDERTHREAD_H
